/**
 *
 * $Id$
 */
package net.opengis.wfs.validation;

import net.opengis.wfs.DeleteElementType;
import net.opengis.wfs.DescribeFeatureTypeType;
import net.opengis.wfs.FeatureCollectionType;
import net.opengis.wfs.FeatureTypeListType;
import net.opengis.wfs.GMLObjectTypeListType;
import net.opengis.wfs.GetCapabilitiesType;
import net.opengis.wfs.GetFeatureType;
import net.opengis.wfs.GetFeatureWithLockType;
import net.opengis.wfs.GetGmlObjectType;
import net.opengis.wfs.InsertElementType;
import net.opengis.wfs.LockFeatureResponseType;
import net.opengis.wfs.LockFeatureType;
import net.opengis.wfs.NativeType;
import net.opengis.wfs.PropertyType;
import net.opengis.wfs.QueryType;
import net.opengis.wfs.TransactionResponseType;
import net.opengis.wfs.TransactionType;
import net.opengis.wfs.UpdateElementType;
import net.opengis.wfs.WFSCapabilitiesType;
import net.opengis.wfs.XlinkPropertyNameType;

import org.eclipse.emf.common.util.EMap;

import org.eclipse.emf.ecore.util.FeatureMap;

/**
 * A sample validator interface for {@link net.opengis.wfs.DocumentRoot}.
 * This doesn't really do anything, and it's not a real EMF artifact.
 * It was generated by the org.eclipse.emf.examples.generator.validator plug-in to illustrate how EMF's code generator can be extended.
 * This can be disabled with -vmargs -Dorg.eclipse.emf.examples.generator.validator=false.
 */
public interface DocumentRootValidator {
  boolean validate();

  boolean validateMixed(FeatureMap value);
  boolean validateXMLNSPrefixMap(EMap value);
  boolean validateXSISchemaLocation(EMap value);
  boolean validateDelete(DeleteElementType value);
  boolean validateDescribeFeatureType(DescribeFeatureTypeType value);
  boolean validateFeatureCollection(FeatureCollectionType value);
  boolean validateFeatureTypeList(FeatureTypeListType value);
  boolean validateGetCapabilities(GetCapabilitiesType value);
  boolean validateGetFeature(GetFeatureType value);
  boolean validateGetFeatureWithLock(GetFeatureWithLockType value);
  boolean validateGetGmlObject(GetGmlObjectType value);
  boolean validateInsert(InsertElementType value);
  boolean validateLockFeature(LockFeatureType value);
  boolean validateLockFeatureResponse(LockFeatureResponseType value);
  boolean validateLockId(String value);
  boolean validateNative(NativeType value);
  boolean validateProperty(PropertyType value);
  boolean validatePropertyName(String value);
  boolean validateQuery(QueryType value);
  boolean validateServesGMLObjectTypeList(GMLObjectTypeListType value);
  boolean validateSupportsGMLObjectTypeList(GMLObjectTypeListType value);
  boolean validateTransaction(TransactionType value);
  boolean validateTransactionResponse(TransactionResponseType value);
  boolean validateUpdate(UpdateElementType value);
  boolean validateWfsCapabilities(WFSCapabilitiesType value);
  boolean validateXlinkPropertyName(XlinkPropertyNameType value);
}
